The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
A search engine is a system of one or more computing devices, or components thereof, which searches one or more repositories of data for data structures that match search constraints indicated by search requests. One common type of search engine is a web search engine, which conducts searches for data structures such as web pages and other web-based documents, based on keywords and/or other constraints. However, there are many other types of search engines, and these search engines permit searches against a wide variety of repositories of data.
A search user interface, or “search interface” as abbreviated herein, is a point of interaction between an information seeker, or “user,” and one or more search engines. Via the search interface, a user may submit a search request to a search engine. Via the search interface, the user may further receive information concerning one or more data structures, or “search results,” that the search engine has identified as matching the search request. One common type of search interface is a web-based search interface, in which a search engine provides a web browser with a web page comprising controls via which a user may input search request parameters. Once the parameters have been entered, the user's web browser typically sends the parameters to a search engine using a request in a Hyper-Text Transfer Protocol (HTTP) or other suitable web-based protocol. The search engine then returns the search results to the browser.
Creating search interfaces is a task conventionally left to skilled programmers. For example, in the context of web-based search interfaces, creation of search interfaces conventionally requires familiarity with Hyper-Text Markup Language (HTML), JavaScript, and/or other web-based standards or tools. Search interface creation further requires knowledge of search Application Programming Interfaces (APIs), which typically vary from search engine to search engine.